package interfejsPracownik;

import bazy.ZajeteMiejsca;
import transport.Polaczenie;
import dystrybucja.Kasjer;
import javafx.concurrent.Service;
import javafx.concurrent.Task;

public class ServiceSprzedajBilet extends Service<Integer>{
	Kasjer kasjer;
	interfejsKlient.Polaczenie aktualne;
	int ilosc;
	int dzien;
	int miesiac;
	int rok;
	int id;
	static int ktore = 0;
	public void setAll(Kasjer kas, int dd, int ile, int rok, int miesiac, int dzien){
		kasjer = kas;
		id = dd;
		ilosc = ile;
		this.dzien = dzien;
		this.miesiac = miesiac;
		this.rok = rok;
	}
	@Override
	protected Task createTask() {
		// TODO Auto-generated method stub
		return new Task<Integer>(){

			@Override
			protected Integer call() throws Exception {
				int val =0;
				int wynikTestu = 0;
				for(int i =0 ; i <ilosc; i++){
					wynikTestu = ZajeteMiejsca.kupBilet(id	, rok, miesiac, dzien);
				}
				
				if(wynikTestu == ZajeteMiejsca.BRAK_POLACZENIA_W_TYM_DNIU) {
						System.out.println("Brak takiego polaczenia w tym dniu");
						wynikTestu = ZajeteMiejsca.BRAK_POLACZENIA_W_TYM_DNIU;
					}else if(wynikTestu == ZajeteMiejsca.OK) {
						
						System.out.println("Zakupiono bilet");
						
						return ZajeteMiejsca.OK;
					}
					else if(wynikTestu == ZajeteMiejsca.BRAK_TAKIEGO_POLACZENIA) {
						//System.out.println("Polaczenie nie istnieje");
						wynikTestu = ZajeteMiejsca.BRAK_TAKIEGO_POLACZENIA;
						return wynikTestu;
					}
					else if(wynikTestu == ZajeteMiejsca.BRAK_WOLNYCH_MIEJSC) {
						//System.out.println("Brak wolnych miejsc");
						wynikTestu = ZajeteMiejsca.BRAK_WOLNYCH_MIEJSC;
						return wynikTestu;
					}
					
				
				
				//boolean test = kasjer.sprzedajBilet(aktualne, ilosc);
				return wynikTestu;
			}
			
			
			
		};
	}

	

}
